package com.wangyb.wework.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.wangyb.wework.entity.employee.WwEmployee;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author: wangyb
 * @Date: 2021/7/9 2:57 下午
 */
@Data
public class WwGroupchatMemberVo {
	private static final long serialVersionUID = 1L;

	/** $pkColumn.columnComment */
	@ApiModelProperty("$pkColumn.columnComment")
	private Long id;

	/** 客户群id ww_groupchat.id */
	@Excel(name = "客户群id ww_groupchat.id")
	@ApiModelProperty("客户群id ww_groupchat.id")
	private Long groupchatId;

	/** 企业id   ww_corp.id */
	@Excel(name = "企业id   ww_corp.id")
	@ApiModelProperty("企业id   ww_corp.id")
	private Long corpId;

	/** 群成员id,可能是ww_contact.wx_user_id,或者是ww_employee.wx_user_id */
	@Excel(name = "群成员微信id")
	@ApiModelProperty("群成员微信id")
	private String wxUserid;

	@Excel(name = "群成员id,可能是ww_contact.wx_user_id,或者是ww_employee.wx_user_id")
	@ApiModelProperty("群成员id,可能是ww_contact.wx_user_id,或者是ww_employee.wx_user_id")
	private String name;

	@Excel(name = "群成员头像")
	@ApiModelProperty("群成员头像")
	private String thumbAvatar;


	/** 成员类型 1 - 企业成员 2 - 外部联系人 */
	@Excel(name = "成员类型 1 - 企业成员 2 - 外部联系人")
	@ApiModelProperty("成员类型 1 - 企业成员 2 - 外部联系人")
	private Long type;

	/** 外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当群成员类型是微信用户（包括企业成员未添加好友），且企业或第三方服务商绑定了微信开发者ID有此字段 */
	@Excel(name = "外部联系人在微信开放平台的唯一身份标识" , readConverterExp = "微=信unionid")
	@ApiModelProperty("外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当群成员类型是微信用户（包括企业成员未添加好友），且企业或第三方服务商绑定了微信开发者ID有此字段")
	private String unionid;

	/** 入群时间 */
	@Excel(name = "入群时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("入群时间")
	private Date joinTime;

	/** 入群方式。1 - 由群成员邀请入群（直接邀请入群）2 - 由群成员邀请入群（通过邀请链接入群）3 - 通过扫描群二维码入群 */
	@Excel(name = "入群方式。1 - 由群成员邀请入群" , readConverterExp = "直=接邀请入群")
	@ApiModelProperty("入群方式。1 - 由群成员邀请入群（直接邀请入群）2 - 由群成员邀请入群（通过邀请链接入群）3 - 通过扫描群二维码入群")
	private Long joinScene;

	/** 退群时间 */
	@Excel(name = "退群时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("退群时间")
	private Date quitTime;

	/** 邀请者。ww_employee.wx_user_id 目前仅当是由本企业内部成员邀请入群时会返回该值 */
	@Excel(name = "邀请者。ww_employee.wx_user_id 目前仅当是由本企业内部成员邀请入群时会返回该值")
	@ApiModelProperty("邀请者。ww_employee.wx_user_id 目前仅当是由本企业内部成员邀请入群时会返回该值")
	private String invitorWxUserid;
	/** 邀请者 */
	private WwEmployee invitor;

	/** 所在其他群 */
	private List<WwGroupchatVo> otherGroupchatList;

	/** 群成员状态，1-正常 2-退群 */
	@Excel(name = "群成员状态，1-正常 2-退群")
	@ApiModelProperty("群成员状态，1-正常 2-退群")
	private Integer status;

	/** 是否为群管理员，1-是 0-否 */
	@Excel(name = "是否为群管理员，1-是 0-否")
	@ApiModelProperty("是否为群管理员，1-是 0-否")
	private Integer adminStatus;

}
